The present invention relates to methods and apparatus for generating random numbers.
The use of random numbers, for example, in processing systems is becoming common and essential, particularly where secure communications functionality is desired. For example, a processing system may employ a random number generator, implemented using one or more ring oscillators, in order to permit a processor to generate a random number and use same to create secure modes. These modes may include encrypting sensitive data for later use and/or storage somewhere within the system or in some external device, establishing a virtual private network (VPN) between two network points, etc.
Existing multiprocessing systems in which a plurality of processors are coupled over a bus may employ a random number generator within the system that is used by all of the processors requiring random number generation. Among the uses of the random number generator is to assist in creating a virtual private network (VPN) between the multiprocessor system and an external system.
The problems associated with the prior art techniques is that the random number generator requires an undesirable amount of additional circuitry (e.g., including a plurality of ring oscillators) in order to achieve the desired functionality. Thus, there is a need in the art for new ways of achieving random number generation, preferably that makes use of existing circuitry in the system in which it is employed.